In printing and finishing systems, such as those from Xerox, Canon, HP, Kodak, Kyocera Mita, and others, the content of a page that is to be printed is typically defined using a Page Description Language (PDL). There are several PDL's currently in use. For example, Postscript, Printer Control Language (PCL) by Hewlett Packard, Variable-data Intelligent Postscript Printware (VIPP) defined by Xerox, Microsoft's XML Paper Specification Document (XPS), and Adobe Acrobat PDF are all PDL's used in a variety of document composition systems to define the content of electronic pages.
Generally, a print job may contain one or more electronic documents and each electronic document may comprise one or more electronic pages. While PDL instructions are used to define the contents of a particular page, instructions written in a Job Control Language (JCL) define other printing and finishing parameters associated with a print job. For example, JCL instructions may define the size and source of the paper on which to print, how and where a document is to be bound, the number of copies to be printed, etc. Job control languages that are currently in use include, for example, Printer Job Language (PJL) from Hewlett Packard, Xerox Printing Instruction Format (XPIFF), and Microsoft “Print Tickets.”
A print job that is transmitted to a printing and finishing system will typically comprise PDL commands to define what is to be printed and JCL commands to define how it is to be printed. The JCL instructions are typically sent first, followed by the PDL instructions. There are several exemplary PDL/JCL combinations that are used by present day printing and finishing systems. For example, Hewlett Packard printing equipment uses a PCL and PJL combination. Xerox printing and finishing equipment is designed to receive Xerox's VIPP and XPIFF. Some printing and finishing equipment is adapted to receive Postscript including the “setpagedevice” and “procset” commands. Adobe Acrobat PDF is often used as a PDL along with device-dependent JCL's such as, for example, Adobe Job Definition Format (JDF) and XPIFF. Microsoft has recently introduced a printing language combination Microsoft XPS with “Print Tickets.”
The advance of computer technology and the wide accessibility of document authoring software have allowed individuals and corporations to create complex electronic documents that are diverse in their composition and makeup. The ease with which documents can now be created has increased the expectations for printing and finishing. For example, it is frequently requested that documents, or specific subsets of pages in a document, be printed on a particular size and color paper and/or be folded, punched, and/or stapled in a particular manner. Printing and assembling documents in these specialized fashions traditionally has been accomplished manually.
For large corporations, printing and finishing of documents is often performed by an in-house Print Service Provider (PSP). Individuals and small corporations typically use public PSPs for printing documents. Both in-house and public PSPs generally prefer to automate the printing function as much as possible and thereby avoid the expense and potential error introduced by manually collating and finishing documents.
A few off-the-shelf print workflow software packages such as, for example, EFI Compose, Xerox FreeFlow Process Manager, and Xerox FreeFlow MakeReady, provide for load balancing of jobs between printing systems. However, these packages and others like them offer only very limited automation of printing and finishing tasks.
An option for automating the printing and finishing of print jobs is to create custom print application programs for each unique print job. A custom printing and finishing program can process PDL files and output a print data stream with finishing JCL commands that can be consumed directly by most production printing systems.
A downside to preparing custom programs is that a program needs to be prepared for each unique print job. Further, there are very few individuals that have the programming skills necessary to write custom programs for printing and finishing. Accordingly, having a custom program written is often too expensive and time consuming to be practicable.
Moreover, custom programs are typically written for a specific printing system and can quickly become obsolete if the target printing system is upgraded. Invariably, when new printing equipment is installed, the newer replacement printing and finishing system has upgraded software that is incompatible with that used by the older printing system. Custom programs written for the older system likely will not process correctly in the replacement printing and finishing system.
Therefore, due to the expense and limited useful lifetime of custom programs, printing and finishing print jobs is often not accomplished automatically. Rather, the most practicable alternative in many instances is to print and finish jobs using manual labor.